package com.chixing.day01_syntax;

import java.sql.SQLOutput;

/**
 * 文档注释：用于说明，该类的作用
 * 标识符的命名规则:
 * 只能由 字母、数字、下划线_、美元$ 组成
 *package包:字母全部小写，一般是网站或组织的逆序
 * class类名:单词首字母全部大写
 */
public class SyntaxDemo {
    //主函数 main函数:程序运行的入口
    public static void main(String[] args) {
        byte b1 = 123;
       // byte b2 = 128; 错误  byte:1byte 1字节=8bit[-128~127]  默认128是int类型

        short b3 = 11;
       // long telno = 12432434235; 报错 认为是int类型
       long telno = 12432434235L;  //结尾加L


       //float stuHeight = 1.78;  //报错 认为是double类型
        float stuHeight = 1.78F;   //加F
        float proPrice = 9.9f;

        double d1 = 99.9;  // 不需要加任何符号

        char c1 = 'a';
        char c2 = '%';
       // char c3 = 'ac';  //报错 Too many characters in character literal
        char c4 = '\'';
        System.out.println(c4);

        boolean bo1 = false;
        boolean bo2 = 4>3;

        boolean isExist = false;  //但凡以is开头的一定是boolean类型  返回值是false
        boolean hasNext = false;
        boolean flag; //一定是布尔类型


        //数据类型转换
        byte b4 = 12;
        int i1 = b4;

        long l1 = 7788; //int类型 4字节  int类型转换成long类型
        long l2 = 7788L;//long类型 8字节

        double d3 = 99.9f; // 99.9ffloat类型 4字节 double 8字节


        //强制类型转换 byte b5 = (byte)int值  可能会造成精度缺失 数据不准确
        int i2= 130;
//        byte b5 = i2;  //报错  byte 1字节 int 4字节
        byte b5 = (byte)i2;  //强制类型转换
        System.out.println(b5);
      ;


        //char <->int 直接相互转换
        //ASCII码 a 97, A 65
        System.out.println((int)'a'); //97
        System.out.println((char)76); //'L'
        System.out.println((char)176); //'。'


//低字节和高字节进行算数运算 返回的一定是高字节！！

        //a-z
        char ch1 ='a';
        ch1++;
        for (char c = 'a';c<='z';c++){
            System.out.println((c));
        }

        //A-Z
        char ch2 = 'A';
        ch2++;
        for (char d = 'A';d <= 'Z';d++){
            System.out.println((d));
        }
        System.out.println("a - b =" +('a' - 'b'));

        int x = 30;
        int y = 20;
        if(x > y)
            System.out.println("x > y");
        System.out.println("x <=y");



    }



    }

//基本数据类型（原始数据类型、元类型）:8种
/*整型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
byte:1byte 1字节！！=8bit[-128~127]
表示容量: 1KB = 1024Byte
表示速率:1kb/s(1kbps) = 1000byte/s
short 2字节
long(8字节) 后面必须加上L或l

浮点型:float、double
float:(单精度浮点类型) 4 字节
double:(双精度浮点型) 8字节 默认的浮点型


字符:char  一个字符 默认双字节 跟字符编码相关
布尔:boolean*/

//引用数据类型:数组array、类class、接口interface、枚举enum、注解annotation



